const rl = require("readline").createInterface({ input: process.stdin })

// 质数因子
// 功能:输入一个正整数，按照从小到大的顺序输出它的所有质因子（重复的也要列举）（如180的质因子为2 2 3 3 5 ）
rl.on('line', (line) => {
  line = parseInt(line)

  const arr = primeFactors(line)

  console.log(arr.join(' '))

  rl.close()
})

/* 计算正整数的质因数 */
function primeFactors (num) {
  const sqrt = Math.sqrt(num)
  const arr = []

  for (let i = 2; i <= sqrt; i ++) {
    while (num % i === 0) {
      arr.push(i)

      num = num / i
    }
  }

  num !== 1 && arr.push(num)

  return arr
}


/* 判断是否是质数（素数） 方法一 */
function isPrime (num) {
  if (!num || num === 1) return false

  for (let i = 2; i < num; i ++) {
    if (num % i === 0) return false
  }

  return true
}

/* 判断是否是质数（素数） 方法二 */
function isPrime2 (num) {
  if (!num || num === 1) return false

  for (let i = 2; i * i <= num; i ++) {
    if (num % i === 0) return false
  }

  return true
}

/* 计算正整数的因数 */
function factors (num) {
  const sqrt = Math.sqrt(num)
  const nums = []
  let i

  for (i = 1; i <= sqrt; i ++) {
    if (num % i === 0) {
      nums.push(i)

      if (num / i !== i) {
        nums.push(num / i)
      }
    }
  }


  nums.sort((x, y) => x - y)

  return nums
}
